package com.example.demo.game;

/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2023-10-29
 * Time:15:45
 */

import org.springframework.stereotype.Component;

import java.util.concurrent.ConcurrentHashMap;

/**
 * 房间管理器
 */
@Component
public class RoomManager {
    private ConcurrentHashMap<String ,Room> rooms = new ConcurrentHashMap<>();
    private ConcurrentHashMap<Integer,String> userIdToRoomId = new ConcurrentHashMap<>();

    public void add(Room room,Integer userid1,Integer userid2){
        rooms.put(room.getRoomId(),room);
        userIdToRoomId.put(userid1,room.getRoomId());
        userIdToRoomId.put(userid2,room.getRoomId());
    }


    public void remove(String roomId,Integer userid1,Integer userid2){
        rooms.remove(roomId);
        userIdToRoomId.remove(userid1);
        userIdToRoomId.remove(userid2);

    }

    public Room getRoomByRoomId(String roomId){
        return rooms.get(roomId);
    }

    public Room getRoomByUserId(int userId){
        String roomId = userIdToRoomId.get(userId);
        if (roomId == null){
            return null;
        }
        return rooms.get(roomId);
    }
}


